Project risk assessment

ABSTRACT

This invention provides techniques, systems and apparatus for assessing risk associated with a project or a portfolio of projects. An example embodiment having a processor and a memory, includes storing operational values which corresponds to a different project. Each operational value is representative of a project operational parameter. A risk vector is generated for each project based on the set of operational parameters. The risk vectors are partitioned into groups of similar risk vectors having a set of membership rules. Probabilities that a new project belongs to respective groups are generated. A risk value indicative of the risk associated with the new project is generated based on the probabilities generated. In some embodiments, the technique also assesses portfolio risk and utilizes an optimization algorithm to estimate acceptable or desirable margins to charge for each project in a portfolio of projects.

FIELD OF THE INVENTION

[0001] The present invention generally relates to project risk assessment and particularly relates to methods and data processing systems for assessing risk associated with projects and portfolios of projects.

DESCRIPTION OF RELATED ART

[0002] Business environments are changing with increasing frequency. Most commercial entities are finding an increasing need to adapt decision making processes to deal with a range of agents of change. Such changes can be both internal and external in nature. Examples of internal changes include changes in skill set, and changes in turnover. Examples of external changes include changes in customer set, changes in customer demand, changes in technology, and changes in marketplace. Accordingly, it is becoming increasingly difficult for commercial entities to assess and cost risks associated with customer contract portfolios in such a manner that the contracts remain both profitable and competitively priced. Relatively small losses on individual contracts can combine to produce significant profit erosion across a large number of coexisting projects. Accordingly, it would be desirable to provide a data processing method and system for assessing risks associated with projects and portfolios of projects.

SUMMARY OF THE INVENTION

[0003] An aspect of the present invention provides methods, apparatus and systems for assessing risk associated with a project in a data processing system including a processor and a memory. The method comprising: storing sets of operational values in the memory, each set corresponding to a different project and each operational value being representative of an operational parameter of the corresponding project; and, in the processor, generating a risk vector for each project based on the set of operational parameters for that project, partitioning the risk vectors into groups of similar risk vectors, determining a set of membership rules for each group based on the risk vectors therein, generating probabilities that a new project belongs to respective groups based on the membership rules associated with the each group, and, based on the probabilities generated for the new project, generating a risk value indicative of the risk associated with the new project.

[0004] An aspect of the partitioning of the risk vectors includes the processor executing a hierarchical clustering technique. Such a hierarchical clustering technique may have the Kohonen algorithm. The determining of the set of membership rules advantageously has the processor executing a predictive modeling algorithm. Such a predictive modeling algorithm may have boosted decision trees. Advantageous embodiments of the present invention further have recording a set of operational values corresponding to the new project in the memory, each operational value being representative of an operational parameter of the new project.

[0005] A further aspect of the present invention extends to a computer program element comprising computer program code means which, when loaded in a processor of data processing system comprising a memory, configures the processor to perform such a risk assessment method.

[0006] A further aspect of the present invention also extends to a method for assessing, in a data processing system comprising a processor and a memory, risk associated with a portfolio of projects, performing a method for assessing risk as hereinbefore described for each project in the portfolio, and, based on the risk values thus generated for each project, generating a risk value indicative of the risk associated with the portfolio.

[0007] In a still further aspect of the present invention, the present invention provides a data processing system for assessing risk associated with a project. In an example embodiment, the system includes: a memory storing sets of operational values in the memory, each set corresponding to a different project and each operational value being representative of an operational parameter of the corresponding project; and a processor for generating a risk vector for each project based on the set of operational parameters for that project, partitioning the risk vectors into groups of similar risk vectors, determining a set of membership rules for each group based on the risk vectors therein, generating probabilities that a new project belongs to respective groups based on the membership rules associated with the each group, and, based on the probabilities generated for the new project, generating a risk value indicative of the risk associated with the new project.

BRIEF DESCRIPTION OF THE DRAWINGS

[0008] Advantageous embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings, in which:

[0009]FIG. 1 is a block diagram of a project risk assessment system embodying the present invention;

[0010]FIG. 2 is a flow chart corresponding to a project risk assessment system embodying the present invention in operation;

[0011]FIG. 3 is a graphical illustration of a risk space based on 3 three risk factors; and

[0012]FIG. 4 is a flow chart corresponding to another project risk assessment system embodying the present invention in operation.

DETAILED DESCRIPTION OF THE INVENTION

[0013] The present invention provides methods, apparatus and systems for assessing, in a data processing system having a processor and a memory, risk associated with a project. In an example embodiment, the method includes: storing sets of operational values in the memory, each set corresponding to a different project and each operational value being representative of an operational parameter of the corresponding project; and, in the processor, generating a risk vector for each project based on the set of operational parameters for that project, partitioning the risk vectors into groups of similar risk vectors, determining a set of membership rules for each group based on the risk vectors therein, generating probabilities that a new project belongs to respective groups based on the membership rules associated with the each group, and, based on the probabilities generated for the new project, generating a risk value indicative of the risk associated with the new project.

[0014] The partitioning of the risk vectors advantageously has the processor executing a hierarchical clustering technique. Such a hierarchical clustering technique may include the Kohonen algorithm. The determining of the set of membership rules advantageously includes the processor executing a predictive modeling algorithm. Such a predictive modeling algorithm may include boosted decision trees. Advantageous embodiments of the present invention further include recording a set of operational values corresponding to the new project in the memory, each operational value being representative of an operational parameter of the new project.

[0015] The present invention extends to a computer program element having computer program code means which, when loaded in a processor of data processing system including a memory, configures the processor to perform such a risk assessment method. The present invention also extends to a method for assessing, in a data processing system including a processor and a memory, risk associated with a portfolio of projects, performing a method for assessing risk as hereinbefore described for each project in the portfolio, and, based on the risk values thus generated for each project, generating a risk value indicative of the risk associated with the portfolio.

[0016] Viewing the present invention from another aspect, there is now provided a data processing system for assessing risk associated with a project. In a particular embodiment the system includes: a memory storing sets of operational values in the memory, each set corresponding to a different project and each operational value being representative of an operational parameter of the corresponding project; and a processor for generating a risk vector for each project based on the set of operational parameters for that project, partitioning the risk vectors into groups of similar risk vectors, determining a set of membership rules for each group based on the risk vectors therein, generating probabilities that a new project belongs to respective groups based on the membership rules associated with the each group, and, based on the probabilities generated for the new project, generating a risk value indicative of the risk associated with the new project.

[0017] In an advantageous embodiment of the present invention to be described shortly, there is provided an adaptive system for reducing profit loss by learning quantitative project performance measures based on mining a database storing historical project data. The historical project data describes aspects of a project such as finances, management, schedule, and quality. The system uses the measures to segment a project portfolio into plural groups or sub-portfolios of homogeneous risk. The system uses risk information to establish project pricing margins such that the overall portfolio is likely to be profitable. Initially, the system analyses the project data to extract a set of risk factors reflecting variability of and impact on profitability of the project. This is defined as a gross profit loss function ΔGP. The risk factors can be regarded as coordinates in a risk space in which each project is represented by a risk vector. Next, the system employs a clustering algorithm to segment the project data into plural project groups or classes of homogeneous risk. The clustering algorithm identifies groups of projects having similar risk vectors and therefore similar risk factors. The system then employs a classification process based on boosted decision trees. The classification process produces a mapping between the project risk space and the segmented risk groups. The classification process serves as a probabilistic estimator to estimate which of the risk groups is probably most suitable for receiving a new project. The system then uses the estimated risk group probabilities to predict the gross profit loss or gain of the new project. The predicted loss or gain is then employed to determine the appropriate gross profit margin for the new project to guarantee a desired level of profitability. For a given set of projects, the system employs a portfolio loss function, Loss=ΣΔGP, and utilizes a stochastic optimization process such as Monte Carlo Markov Chain function, to produce project portfolios yielding optimum profitability based on the probability distributions of the associated risk factors.

[0018] Referring first to FIG. 1, an example of a risk assessment system embodying the present invention has a data processing system 140. The data processing system 140 has a central processing unit (CPU) 10, an input output (I/O) subsystem 20, a memory subsystem 30, and a network interface adapter 40, all interconnected by a bus subsystem. The I/O subsystem includes a display device 60, a keyboard 70, and a pointing device 80 each connected to the bus subsystem 50. The network adapter 40 is connected to a data communications network 90. In the memory subsystem is stored computer program code including operating system software 100 and application software 110. Also stored in the memory subsystem 30 is a database 130. The application software includes project risk assessment application software 120 to be described in detail shortly. The memory subsystem 30 includes a combination of read only memory, random access memory, and mass data storage such as hard disk files and the like. The pointing device 80 may be in the form of a mouse, track ball, touch pad, pointing stick, or the like. The display device 60 may be provided by a cathode ray tube display, liquid crystal display panel, or similar visual display device. For example, the central processing unit may be in the form of a microprocessor such as an Intel Pentium 4 microprocessor available from Intel Corporation. The data communications network 90 may be a local area network (LAN) such as an ethernet LAN or a wide area network such as the Internet. Accordingly, depending on the form of the data communications network 90, the network adapter 40 may be a local area network adapter such as an ethernet adapter or a wide area network adapter such and an integrated services digital network (ISDN) network adapter.

[0019] In operation, the central processing unit 10 is configured by the operating system software to execute the application software 110 such as the risk assessment software 120. The bus subsystem 50 facilitates local communication of data and program code between the I/O subsystem 20, the memory subsystem 30, the CPU 10, and the network adapter 40. A user can select an item of application software to be executed by the CPU 10 via either the keyboard 70 or the mouse 80. The keyboard 70 and the mouse thereafter allow the user to control the execution of the selected application software by the CPU 10 by entry of data and/or control commands. The display 20 provides a visual feedback interface between the user and the application software and underlying operating software. The network adapter 40 enables communication of data between the data processing system 140 and other information handling systems connected to the network 90 such as printers, data storage devices, and other data processing systems.

[0020] Referring now to FIG. 2, an advantageous example of a project risk assessment process for embodiment in the risk assessment software 120 executable by the CPU 10 will now be described in detail. The process includes project risk identification, assessment, and pricing. At step 200 of the process, historical project data describing completed projects is stored in the database 130. The project data describes each completed projects in terms of a plurality of operational parameters such as Duration, Fixed Price or Time & Material, Industry Type, Customer Type, Geography, Quality Assurance Rating, etc. and financial parameters such as Planned Revenue, Planned Cost, Planned Profit Margin, Planned Contingency, Actual Revenue, Actual Cost, Actual Profit Margin, Actual Duration, Actual QA Rating at Delivery, etc.

[0021] For each project, the following notations are defined:

[0022] AP_Rev: approved or planned revenue;

[0023] AP_Cost: approved or planned cost;

[0024] AP_GP=AP_Rev−AP_Cost: approved or planned gross profit; ${{AP\_ GP}\quad \%} = {\frac{AP\_ GP}{AP\_ Rev}\text{:}}$

[0025] approved or planned gross profit margin;

[0026] AP_T: approved or planned project duration;

[0027] AC_Rev: actual revenue;

[0028] AC_Cost: actual cost;

[0029] AC_GP=AC_Rev−AC_Cost: actual gross profit;

[0030] AC_T: actual project duration; ${{AC\_ GP}\quad \%} = {\frac{AC\_ GP}{AC\_ Rev}\text{:}}$

[0031] actual gross profit margin; $a = {\frac{AC\_ Rev}{AP\_ Rev}\text{:}}$

[0032] fraction of approved revenue which was actually generated by project; $b = {\frac{AC\_ Cost}{AP\_ Cost}\text{:}}$

[0033] fraction of approved cost which was actually incurred by project; $\delta = {\frac{b}{a}\text{:}}$

[0034] this is a second order measure of how revenue was generated out of the incurred costs. δ measures a matching ratio between the actual and the approved profit margins; and, $\tau = {\frac{AC\_ T}{AP\_ T}\text{:}}$

[0035] this is a ratio which measures a matching between the planned and actual project durations. The project is on schedule when τ=1, otherwise it can be ahead of schedule (τ<1), or behind schedule (τ>1).

[0036] Based on the notations set out above, the actual gross profit margin can be defined as:

AC _(—) GP%=1−δ+δ.AP _(—) GP%  (1)

[0037] It will be appreciated from equation (1) that if revenue and cost were generated by a project as planned (according to the planned profit margin), then δ=1, and AC_GP%=AP_GP%. Otherwise, if the actual revenue of a project was generated at lower profit margin, with more cost actually incurred than planned, then δ>1. In the opposite scenario, where the actual revenue was generated with less actual cost, then δ<1.

[0038] Given the planned and actual financial performance of a project, the actual loss or gain in project profitability can be measured. This measure is referred to ΔGP or “profit erosion”. ΔGP can be defined by:

ΔGP=(AC _(—) GP%−AP _(—) GP%).AC_Rev=a.(1−δ).AP_Cost  (2)

[0039] wherein ΔGP varies as a function of three variables: a, δ, and AP_Cost. These variables, together with τ (the measure for schedule) collectively define the associated project in terms of a risk vector (a, δ, τ, AP_Cost).

[0040] Similarly, the loss or gain in profit margin can be defined as: $\begin{matrix} \begin{matrix} {{\Delta \quad {GP}\quad \%} = \left( {{{AC\_ GP}\quad \%} - {{AP\_ GP}\quad \%}} \right)} \\ {= {\left( {1 - \delta} \right) \cdot \left( {1 - {{AP\_ GP}\quad \%}} \right)}} \end{matrix} & (3) \end{matrix}$

[0041] Therefore, the actual loss or gain in a project profitability can be summarized via the following two expressions:

ΔGP=a.(1−δ).AP_Cost

ΔGP%=(1−δ).(1−AP _(—) GP%)  (4)

[0042] At step 210 of the process, the CPU 210 computes the risk vector parameters and losses or gains for each project in the project portfolio based on the project data recorded in the database 130. At step 220 of the process, the projects in the portfolio recorded in the database 130 are segmented, by the CPU 10 into subgroups of projects with similar risk vectors. In a particularly advantageous embodiment of the present invention, a hierarchical clustering technique, based on the Kohonen algorithm, is employed by the CPU 10 to identify such homogeneous risk groups (G1, G2, . . . , Gk) of projects defined by similar risk vectors and bearing similar losses or gains, ΔGP and ΔGP%. The risk vectors have probability distributions which may be estimated by the CPU 10 from the historical data stored in the database 130.

[0043] For example, FIG. 3 shows a simplified graphical illustration of a risk space defined by 3 risk factors R1, R2, and R3. It will be appreciated however that, in practice there may be many more than three risk factors of interest and therefore that the risk space may be defined in many more dimensions. As herein before described with reference to FIG. 2, at step 210, the locations in the risk space of a plurality of risk vectors v each representing a different project are located in the space at points are determined based on the corresponding risk factors. The vectors are then grouped together homogenous risk groups G1 and G2 at step 220.

[0044] Returning to FIG. 2, once the different risk groups are defined, then, at step 230 of the process, the CPU 10 characterizes membership of each project to any of the risk groups. The characterization is achieved by the CPU 10 determining probabilistic decision rules which assign group membership probabilities to each project. In particularly advantageous embodiments of the present invention, the determination of the rules is accomplished by the CPU 10 executing a predictive modeling algorithm based on boosted decision trees. Such an algorithm is desirable because it avoids the problem of overfitting which may otherwise occur when learning in multidimensional spaces with small size data samples.

[0045] For example, the modeling algorithm may determine that projects within Group 2 were generally performed in the South and yielded a total revenue of over $5 million at a gross profit margin of less than 10%. Thus, given data describing previously completed projects recorded in the database 130, and the set of defined risk groups (G1, G2, . . . , Gk), risk group membership probabilities (p1, p2, . . . , pk) can be estimated by the CPU 10 for any given project.

[0046] In step 240 of the process, the expected loss or gain of a new project P is estimated by the CPU 10 based on the characteristics of the new project P and the probabilities (p1, p2, . . . , pk) of membership of the new project P to the defined risk groups (G1, G2, . . . , Gk). The expected loss or gain of the new project P is determined by the CPU 10 based on:

E[Loss(P)]=Loss(P|PεG1).p1+Loss(P|PεG2).p2+ . . . +Loss (P|PεGk).pk  (5)

[0047] where Loss(P|PεGk) is the expected loss on the new project P, given that the new project P belongs to group Gk. This is defined as:

Loss(P|PεGk)=∫_(Gk) DGP.g _(a() a).g _(d)(δ)da.dδ

[0048] wherein g_(a)(a) and g_(d)(δ) are probability density functions of factors a and δ estimated by the CPU 10 from the data stored in the database 130. At step 250 of the process, the CPU 10 employs equation (5) to evaluate different pricing scenarios by CPU 10 estimating, via equation (4), the expected actual margin and loss for a new project priced at some margin. The estimate may be used by an operator of the system for a range of purposes, such as adapting the profit margin and/or establishing a reserved contingency to cover the underlying risk. At step 260 of the process, project data associated with the performance of the new project, the associated project data is fed back into the database 130 by the CPU 10. The data from the new project thus becomes part of the stored historical data against which subsequent projects can be assessed. It will be appreciated therefore that the process hereinbefore described, and the definition of group membership rules in particular, is adjusted as the content of the database 130 grows with the addition of data corresponding to each new project.

[0049] The advantageous embodiment of the present invention hereinbefore described have been concerned with assessing and pricing the risk of a new project. However, the present invention is not limited in application to such a task. For example, in a particularly advantageous embodiment of the present invention to be described shortly, the process hereinbefore described is extended to the analysis to portfolios of projects. Such an analysis is particularly desirable in business environments where a portfolio containing only low risk projects is not viable or where projects can be priced with high flexibility (i.e. low sensitivity of the customer to project price). In such environments, portfolios of projects having different levels of risk are advantageous A service provider responsible for such a portfolio can then be more competitive in the marketplace because it can increase market share by bidding on high risk projects if it can support the underlying risk with other low risk projects.

[0050] Referring now to FIG. 4, in an advantageous embodiment of the present invention there is provided a process for determining the most competitive or otherwise acceptable margins to apply to a set of P new projects (P1, P2, . . . , Pn) to produce a desired profit for an overall portfolio of the new projects together with Q ongoing projects (Q1, Q2, . . . , Qm) based on estimated risks associated with each project in the overall portfolio. At step 300 of the process, the losses or gains of each project are computed by the CPU 10 as hereinbefore described in accordance with equation (5) based on the parameters stored in the database 130 in connection with each project. At step 310 of the process, the overall cumulative loss or gain associated with the overall project portfolio of the Q ongoing projects and the P new projects is computed by the CPU 10 based on the following formula: $\begin{matrix} {{E\lbrack{Loss}\rbrack} = {{E\left\lbrack {{Loss}(Q)} \right\rbrack} + {E\left\lbrack {{Loss}(P)} \right\rbrack}}} \\ {= {{E\left\lbrack {{Loss}(Q)} \right\rbrack} + {\sum\limits_{i}\quad {E\left\lbrack {{Loss}({Pi})} \right\rbrack}}}} \\ {= {{E\left\lbrack {{Loss}(Q)} \right\rbrack} + {\sum\limits_{i}\quad {\sum\limits_{j}\quad {{{Loss}\left( {{Pi}{{Pi} \in {Gj}}} \right)} \cdot {p\left( {{Pi} \in {Gj}} \right)}}}}}} \end{matrix}$

[0051] For the Q ongoing projects, E[Loss(Q)] is fixed, while E[Loss(P)] varies with the characteristics of the new projects (P1, P2, . . . , Pn). Such variation is indicated by the estimates of Loss(Pi|PiεGj) and of p(PiεGj). At step 320, the CPU 10 determines pricing for the P new projects to obtain a desired distribution of profit margins over the overall portfolio and to maximize the gain or minimize the loss associated with the overall portfolio.

[0052] In a particularly advantageous embodiment of the present invention, the CPU 10 performs step 320 by solving a constrained stochastic optimization problem to minimize E[Loss] under the constraint that the expected profit margins are distributed according to the desired distribution. For example, the desired distribution may be a normal distribution with a predefined mean and variance. Conventional gradient-based methods are undesirable for solving the stochastic optimization problem because the loss function to be minimized is not differentiable for all variables of a project and because there is a stochastic constraint. Therefore, in an especially advantageous embodiment of the present invention, the CPU 10 utilizes a random sampling process such as the Monte Carlo Markov Chain process to generate the optimal solutions.

[0053] In the advantageous embodiments of the present invention hereinbefore described, each new project or set of new projects is assessed in terms of risk prior to commencement. However, it will be appreciated that the present invention is equally applicable to continuous or periodic risk assessment during the lifetime of a project or set of projects. By way of example, for projects having a series of phases, a risk assessment may be conducted in accordance with the present invention for each phase based on corresponding historical data collected and recorded in the database as hereinbefore described.

[0054] In summary, by way of example of the present invention, techniques have been described herein for assessing, in a data processing system including a processor and a memory, risk associated with a project. The method often includes: storing sets of operational values in the memory, each set corresponding to a different project and each operational value being representative of an operational parameter of the corresponding project; and, in the processor, generating a risk vector for each project based on the set of operational parameters for that project, partitioning the risk vectors into groups of similar risk vectors, determining a set of membership rules for each group based on the risk vectors therein, generating probabilities that a new project belongs to respective groups based on the membership rules associated with the each group, and, based on the probabilities generated for the new project, generating a risk value indicative of the risk associated with the new project. The technique also assesses portfolio risk and utilizes an optimization algorithm to estimate acceptable or desirable margins to charge for each project in a portfolio of projects.

[0055] While the invention has been described herein with reference to advantageous embodiments, it will be appreciated by those skilled in the art that various changes in form and detail may be made therein without departing from the scope of the invention. Thus, the present invention can be realized in hardware, software, or a combination of hardware and software. A visualization tool according to the present invention can be realized in a centralized fashion in one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system—or other apparatus adapted for carrying out the methods and/or functions described herein—is suitable. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein. The present invention can also be embedded in a computer program product, which includes all the features enabling the implementation of the methods described herein, and which—when loaded in a computer system—is able to carry out these methods.

[0056] Computer program means or computer program in the present context include any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after conversion to another language, code or notation, and/or reproduction in a different material form.

[0057] Thus the invention includes an article of manufacture which includes a computer usable medium having computer readable program code means embodied therein for causing a function described above. The computer readable program code means in the article of manufacture includes computer readable program code means for causing a computer to effect the steps of a method of this invention. Similarly, the present invention may be implemented as a computer program product including a computer usable medium having computer readable program code means embodied therein for causing a function described above. The computer readable program code means in the computer program product including computer readable program code means for causing a computer to effect one or more functions of this invention. Furthermore, the present invention may be implemented as a program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for causing one or more functions of this invention.

[0058] It is noted that the foregoing has outlined some of the more pertinent objects and embodiments of the present invention. This invention may be used for many applications. Thus, although the description is made for particular arrangements and methods, the intent and concept of the invention is suitable and applicable to other arrangements and applications. It will be clear to those skilled in the art that modifications to the disclosed embodiments can be effected without departing from the spirit and scope of the invention. The described embodiments ought to be construed to be merely illustrative of some of the more prominent features and applications of the invention. Other beneficial results can be realized by applying the disclosed invention in a different manner or modifying the invention in ways known to those familiar with the art. 

1. A method in a data processing system having a processor and a memory, said method comprising assessing risk associated with a project by: storing sets of operational values in the memory, each set corresponding to a different project and each operational value being representative of an operational parameter of a corresponding project; generating, in the processor, a risk vector for each project based on the set of operational parameters for that project; partitioning the risk vectors into groups of similar risk vectors; determining a set of membership rules for each group based on the risk vectors therein; generating probabilities that a new project belongs to at least one respective group based on the membership rules associated with the each group, and, generating a risk value indicative of the risk associated with the new project based on the probabilities generated for the new project.
 2. A method as claimed in claim 1, wherein the step of partitioning the risk vectors includes the processor executing a hierarchical clustering technique.
 3. A method as claimed in claim 2, wherein the hierarchical clustering technique comprises the Kohonen algorithm.
 4. A method as claimed in claim 1, wherein the step of determining of the set of membership rules includes the processor executing a predictive modeling algorithm.
 5. A method as claimed in claim 4, wherein the predictive modeling algorithm includes boosted decision trees.
 6. A method as claimed in claim 1, further comprising recording a set of operational values corresponding to the new project in the memory, and having each operational value being representative of an operational parameter of the new project.
 7. A method as claimed in claim 1, further comprising: performing steps for assessing risk for each project in a portfolio of projects; generating a project risk value for each project in the portfolio, and generating a portfolio risk value indicative of the risk associated with the portfolio based on the project risk value for each of the projects in the portfolio.
 8. A method as claimed in claim 7, further comprising utilizing an optimization algorithm to estimate margins to charge for at least one project in the portfolio of projects
 9. A data processing system for assessing risk associated with a project, the system comprising: a memory storing sets of operational values in the memory, each set corresponding to a different project and each operational value being representative of an operational parameter of the corresponding project; a processor for generating a risk vector for each said different project based on a project set of operational parameters for that different project; partitioning the risk vectors into groups of similar risk vectors; determining a set of membership rules for each group based on the risk vectors therein; generating probabilities that a new project belongs to respective groups based on membership rules associated with each group; and generating a risk value indicative of the risk associated with the new project based on the probabilities generated for the new project.
 10. An article of manufacture comprising a computer usable medium having computer readable program code means embodied therein for causing risk assessment, the computer readable program code means in said article of manufacture comprising computer readable program code means for causing a computer to effect the steps of claim
 1. 11. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for risk assessment, said method steps comprising the steps of claim
 1. 12. An article of manufacture comprising a computer usable medium having computer readable program code means embodied therein for causing risk assessment, the computer readable program code means in said article of manufacture comprising computer readable program code means for causing a computer to effect the steps of claim
 7. 13. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for risk assessment, said method steps comprising the steps of claim
 7. 14. A computer program product comprising a computer usable medium having computer readable program code means embodied therein for causing risk assessment, the computer readable program code means in said computer program product comprising computer readable program code means for causing a computer to effect the functions of claim
 9. 15. A computer program element comprising computer program code means which, when loaded in a processor of data processing system comprising a memory, configures the processor to perform a method as claimed in claim
 1. 